home *** CD-ROM | disk | FTP | other *** search
/ Your Choice 3 / Your Choice Software Collection 3.iso / os2 / gbase / install.002 / PICTURE.H < prev    next >
Encoding:
C/C++ Source or Header  |  1993-10-15  |  8.3 KB  |  153 lines

  1. /************************************************************* C HEADER ***
  2.  * JBA International, plc Confidential
  3.  * (C) Copyright JBA International, plc, 1993.
  4.  *-------------------------------------------------------------------------
  5.  * $Header: $
  6.  *
  7.  * Project:          GUIDE       - Guidelines
  8.  *
  9.  * Component:        PICTURE      - Picture Controls
  10.  *
  11.  * File Name:        PICTURE.H
  12.  *
  13.  * Original Author:  Greg Jones
  14.  *
  15.  * Description:      Guidelines Header File for the Picture Controls
  16.  *
  17.  * $Log: $
  18.  * 
  19.  *************************************************************************/
  20. #ifndef   H_PICTURE
  21. #define   H_PICTURE
  22.  
  23. /**************************************************************************
  24.  * Custom control window Class and Name
  25.  *************************************************************************/
  26. #define  WT_PICPANEL       "Picture Panel"
  27. #define  WT_PICSET         "Set Button"
  28. #define  WT_PICTOGGLE      "Toggle Button"
  29. #define  WT_PICMSTATE      "MultiState Button"
  30. #define  WT_PICANIMATE     "Animated Button"
  31. #define  WT_PICBUTTON      "Picture Button"
  32. #define  WC_GUIPICBUTTON   "GUIPICBUTTON"
  33.  
  34. /**************************************************************************
  35.  * Picture Panel and Button Styles.
  36.  *************************************************************************/
  37. #define  PCS_PICBUTTON           0x00000000L          /* Normal Push Button         */
  38. #define  PCS_TOGGLE              0x00000001L          /* Toggle Button              */
  39. #define  PCS_MULTISTATE          0x00000002L          /* Multistate Button          */
  40. #define  PCS_SET                 0x00000003L          /* Button Set                 */
  41. #define  PCS_PANEL               0x00000004L          /* Picture Panel              */
  42. #define  PCS_ANIMATED            0x00000005L          /* Animated Push Button       */
  43. #define  PCS_PRIMARYSTYLES       0x00000007L          /* Mask for Primary Styles    */
  44.  
  45. #define  PCS_DEFAULT             0x00000008L          /* Default Button             */
  46. #define  PCS_NOPOINTERFOCUS      0x00000010L          /* No Pointer Focus           */
  47.  
  48. #define  PCS_AUTOSIZEWIN         0x00000020L          /* Auto Size Window           */
  49. #define  PCS_AUTOSIZEPAR         0x00000040L          /* Auto Size To Parent        */
  50.  
  51. #define  PCS_ALIGNLEFT           0x00000000L          /* Left Align Text            */
  52. #define  PCS_ALIGNCENTER         0x00000100L          /* Center Align Text          */
  53. #define  PCS_ALIGNRIGHT          0x00000200L          /* Right Align Text           */
  54. #define  PCS_ALIGNTOP            0x00000000L          /* Top Align Text             */
  55. #define  PCS_ALIGNMIDDLE         0x00000400L          /* Middle Align Text          */
  56. #define  PCS_ALIGNBOTTOM         0x00000800L          /* Bottom Align Text          */
  57. #define  PCS_TEXTOUT             0x00001000L          /* Text Outside Button        */
  58.  
  59. #define  PCS_ZERODISABLED        0x00002000L          /* 0'th Picture is Disabled   */
  60.  
  61. #define  PCS_SYSCOMMAND          0x00004000L          /* System Command Message     */
  62. #define  PCS_HELP                0x00008000L          /* Help Request               */
  63.  
  64. /*
  65.  * Picture Drawing Flags - Set at design time and runtime
  66.  */
  67. #define  PCS_NORMAL              0x00000001L          /* Normal Picture             */
  68. #define  PCS_INVERT              0x00000002L          /* Inverted Picture           */
  69. #define  PCS_HALFTONE            0x00000004L          /* Halftone Picture           */
  70. #define  PCS_TILED               0x00000008L          /* Tiled Picture              */
  71. #define  PCS_STRETCH             0x00000010L          /* Stretch Picture            */
  72. #define  PCS_STATE               0x00000020L          /* Picture is a State         */
  73.  
  74. /**************************************************************************
  75.  * Picture Panel and Button Window Property IDs
  76.  *************************************************************************/
  77. #define  WPID_PICBORDER          WPID_USER + 0     /* Border Property            */
  78. #define  WPID_PICLINEWIDTH       WPID_USER + 1     /* LineWidth Property         */
  79. #define  WPID_PICELEVATION       WPID_USER + 2     /* Elevation Property         */
  80. #define  WPID_PICFILL            WPID_USER + 3     /* Fill Property              */
  81. #define  WPID_PICXROUND          WPID_USER + 4     /* XRound Property            */
  82. #define  WPID_PICYROUND          WPID_USER + 5     /* YRound Property            */
  83. #define  WPID_PICINTERVAL        WPID_USER + 6     /* Interval Property          */
  84. #define  WPID_PICNUMPICS         WPID_USER + 7     /* NumPictures' Property      */
  85. #define  WPID_PICHEIGHT          WPID_USER + 8     /* PicHeight Property         */
  86. #define  WPID_PICWIDTH           WPID_USER + 9     /* PicWidth Property          */
  87. #define  WPID_PICTURES           WPID_USER + 10    /* Pictures Property          */
  88.  
  89. /* Runtime-only properties */
  90. #define  WPID_PICINDEX           WPID_USER + 11    /* Index Property             */
  91. #define  WPID_PICXOFFSET         WPID_USER + 12    /* XOffset Property           */
  92. #define  WPID_PICYOFFSET         WPID_USER + 13    /* YOffset Property           */
  93. #define  WPID_PICNUMSTATE        WPID_USER + 14    /* NumStates Property         */
  94. #define  WPID_PICSTATE           WPID_USER + 15    /* State Property             */
  95.  
  96. /**************************************************************************
  97.  * Limits of Values for various properties
  98.  *************************************************************************/
  99. #define  MIN_BORDERSTYLE         0                 /* Minimum Border Style       */
  100. #define  MAX_BORDERSTYLE         8                 /* Maximum Border Style       */
  101.  
  102. #define  MIN_FILLSTYLE           0                 /* Minimum Fill Style         */
  103. #define  MAX_FILLSTYLE           18                /* Maximum Fill Style         */
  104.  
  105. #define  MIN_ELEVATION           (-32768)          /* Minimum Elevation          */
  106. #define  MAX_ELEVATION             32767           /* Maximum Elevation          */
  107.  
  108. #define  MIN_LINEWIDTH           0                 /* Minimum Line Width         */
  109. #define  MAX_LINEWIDTH           65535             /* Maximum Line Width         */
  110.  
  111. #define  MIN_PICXROUND           0                 /* Minimum X Corner Rounding  */
  112. #define  MAX_PICXROUND           65535             /* Maximum X Corner Rounding  */
  113.  
  114. #define  MIN_PICYROUND           0                 /* Minimum Y Corner Rounding  */
  115. #define  MAX_PICYROUND           65535             /* Maximum Y Corner Rounding  */
  116.  
  117. #define  MIN_INTERVAL            0                 /* Minimum Interval           */
  118. #define  MAX_INTERVAL            65535             /* Maximum Interval           */
  119.  
  120. /**************************************************************************
  121.  * Additional Window Messages
  122.  *************************************************************************/
  123. #define  PCM_SETPICTURE          WM_GUIUSER + 0    /* Set Picture Data           */
  124. #define  PCM_QUERYPICTURE        WM_GUIUSER + 1    /* Query Picture Data         */
  125.  
  126. #define  PCM_SETDRAWMODE         WM_GUIUSER + 2    /* Set Picture Data           */
  127. #define  PCM_QUERYDRAWMODE       WM_GUIUSER + 3    /* Query Picture Data         */
  128.  
  129. /**************************************************************************
  130.  * Additional Notification Codes
  131.  *************************************************************************/
  132. #define  PCN_CHANGE              1                 /* Picture Index has changed  */
  133. #define  PCN_STATE               2                 /* Picture State has changed  */
  134.  
  135. /**************************************************************************
  136.  * Function Prototypes
  137.  *************************************************************************/
  138. VOID GuiPictureRegister (HAB hab);
  139. MRESULT APIENTRY GuiPictureCtlProc (HWND, ULONG, MPARAM, MPARAM);
  140.  
  141. Image GuiPictureGetImage (WINDOW *pWin, USHORT usImageIndex);
  142. BOOL GuiPictureSetImage (WINDOW *pWin, USHORT usImageIndex, Image NewImage);
  143.  
  144. USHORT GuiPictureGetDrawMode (WINDOW *pWin, USHORT usImageIndex);
  145. BOOL GuiPictureSetDrawMode (WINDOW *pWin, USHORT usImageIndex, USHORT usDrawMode);
  146.  
  147. #endif
  148.  
  149. /**************************************************************************
  150.  * End of picture.h
  151.  *************************************************************************/
  152.  
  153.